package com.swak.annotation.table;

/**
 * 定义使用场景
 * 
 * @author 618lf
 */
public enum Scene {

	/**
	 * 最全的模式；
	 * 
	 * 1. Insert、BatchInsert
	 * 2. Delete、DeleteSelective
	 * 3. Update、UpdateSelective、Updative、
	 * 4. CountByCondition、Exists、ExistsByCondition、
	 *    Get、GetSelective、GetUnique、QueryByCondition、
	 *    QueryByConditionSelective、
	 * 5. Lock、
	 * 6. Merge、
	 */
	Full,

	/**
	 * 默认的模式： 提供最基本的模式；
	 * 
	 * 1. Insert、BatchInsert
	 * 2. Delete、
	 * 3. Update、UpdateSelective、Updative、
	 * 4. CountByCondition、Exists、ExistsByCondition、
	 *    Get、GetSelective、GetUnique、QueryByCondition、
	 *    QueryByConditionSelective、
	 * 5. Lock、
	 * 6. 
	 */
	Primary,
	
	/**
	 * 关系表，通常是两表的关系表时使用这个；
	 * 
	 * 1. Insert、BatchInsert
	 * 2. Delete、DeleteSelective
	 * 3. Update、UpdateSelective、Updative、 
	 * 4. Get、GetUnique、CountByCondition、ExistsByCondition、
	 *    QueryByCondition、
	 * 5. 
	 * 6. Merge、
	 */
	Relation,
	
	/**
	 * 统计场景：
	 * 1. 
	 * 2. 
	 * 3. 
	 * 4. CountByCondition、QueryByCondition、QueryByConditionSelective、
	 *    Get、GetUnique、
	 * 5. 
	 * 6. Merge、
	 */
	Stat,
	
	/**
	 * 简单模式，基本的添加删除
	 * 
	 * 1. Insert
	 * 2. Delete
	 * 3. Update
	 * 4. Get、CountByCondition、QueryByCondition、
	 * 5. 
	 * 6. 
	 */
	Curd,

	/**
	 * 完全自定义使用的场景： （不会自动生成Sql）
	 * 
	 * 1. 
	 * 2. 
	 * 3. 
	 * 4. 
	 * 5. 
	 * 6. 
	 */
	UserDefine,
	
}
